MODULE 'exec/libraries','exec/interrupts','graphics/copper'
MODULE 'graphics/text','graphics/sprite','hardware/blit'

OBJECT GfxBase
	LibNode:Library,
	ActiView:PTR TO View,
	copinit:PTR TO CopInit,
	cia:PTR TO LONG,
	blitter:PTR TO LONG,
	LOFlist:PTR TO UWORD,
	SHFlist:PTR TO UWORD,
	blthd:PTR TO bltnode,
	blttl:PTR TO bltnode,
	bsblthd:PTR TO bltnode,
	bsblttl:PTR TO bltnode,
	vbsrv:Interrupt,
	timsrv:Interrupt,
	bltsrv:Interrupt,
	TextFonts:List,
	DefaultFont:PTR TO TextFont,
	Modes:UWORD,
	VBlank:BYTE,
	Debug:BYTE,
	BeamSync:WORD,
	system_bplcon0:WORD,
	SpriteReserved:UBYTE,
	bytereserved:UBYTE,
	Flags:UWORD,
	BlitLock:WORD,
	BlitNest:WORD,
	BlitWaitQ:List,
	BlitOwner:PTR TO Task,
	TOF_WaitQ:List,
	DisplayFlags:UWORD,
	SimpleSprites:PTR TO PTR TO SimpleSprite,
	MaxDisplayRow:UWORD,
	MaxDisplayColumn:UWORD,
	NormalDisplayRows:UWORD,
	NormalDisplayColumns:UWORD,
	NormalDPMX:UWORD,
	NormalDPMY:UWORD,
	LastChanceMemory:PTR TO SignalSemaphore,
	LCMptr:PTR TO UWORD,
	MicrosPerLine:UWORD,
	MinDisplayColumn:UWORD,
	ChipRevBits0:UBYTE,
	MemType:UBYTE,
	crb_reserved[4]:UBYTE,
	monitor_id:UWORD,
	hedley[8]:ULONG,
	hedley_sprites[8]:ULONG,
	hedley_sprites1[8]:ULONG,
	hedley_count:WORD,
	hedley_flags:UWORD,
	hedley_tmp:WORD,
	hash_table:PTR TO LONG,
	current_tot_rows:UWORD,
	current_tot_cclks:UWORD,
	hedley_hint:UBYTE,
	hedley_hint2:UBYTE,
	nreserved[4]:ULONG,
	a2024_sync_raster:PTR TO LONG,
	control_delta_pal:UWORD,
	control_delta_ntsc:UWORD,
	current_monitor:PTR TO MonitorSpec,
	MonitorList:List,
	default_monitor:PTR TO MonitorSpec,
	MonitorListSemaphore:PTR TO SignalSemaphore,
	DisplayInfoDataBase:PTR TO VOID,
	TopLine:UWORD,
	ActiViewCprSemaphore:PTR TO SignalSemaphore,
	UtilBase:PTR TO ULONG,
	ExecBase:PTR TO ULONG,
	bwshifts:PTR TO UBYTE,
	StrtFetchMasks:PTR TO UWORD,
	StopFetchMasks:PTR TO UWORD,
	Overrun:PTR TO UWORD,
	RealStops:PTR TO WORD,
	SpriteWidth:UWORD,
	SpriteFMode:UWORD,
	SoftSprites:BYTE,
	arraywidth:BYTE,
	DefaultSpriteWidth:UWORD,
	SprMoveDisable:BYTE,
	WantChips:UBYTE,
	BoardMemType:UBYTE,
	Bugs:UBYTE,
	gb_LayersBase:PTR TO ULONG,
	ColorMask:ULONG,
	IVector:APTR,
	IData:APTR,
	SpecialCounter:ULONG,
	DBList:APTR,
	MonitorFlags:UWORD,
	ScanDoubledSprites:UBYTE,
	BP3Bits:UBYTE,
	MonitorVBlank:AnalogSignalInterval,
	natural_monitor:PTR TO MonitorSpec,
	ProgData:APTR,
	ExtSprites:UBYTE,
	pad3:UBYTE,
	GfxFlags:UWORD,
	VBCounter:ULONG,
	HashTableSemaphore:PTR TO SignalSemaphore,
	HWEmul[9]:PTR TO ULONG

#define ChunkyToPlanarPtr  HWEmul[0]

CONST	NTSC=1,
		GENLOC=2,
		PAL=4,
		TODA_SAFE=8,
		REALLY_PAL=16,
		LPEN_SWAP_FRAMES=32,
		BLITMSG_FAULT=4

FLAG	GFX_BIG_BLITS=0,
		GFX_HR_AGNUS=0,
		GFX_HR_DENISE,
		GFX_AA_ALICE,
		GFX_AA_LISA,
		GFX_AA_MLISA

CONST	SETCHIPREV_A=GFXF_HR_AGNUS,SETCHIPREV_ECS=GFXF_HR_AGNUS|GFXF_HR_DENISE,
		SETCHIPREV_AA=GFXF_AA_ALICE|GFXF_AA_LISA|SETCHIPREV_ECS

CONST	SETCHIPREV_BEST=$ffffffff,
		BUS_16=0,
		NML_CAS=0,
		BUS_32=1,
		DBL_CAS=2

CONST	BANDWIDTH_1X=BUS_16|NML_CAS,BANDWIDTH_2XNML=BUS_32,
		BANDWIDTH_2XDBL=DBL_CAS,
		BANDWIDTH_4X=BUS_32|DBL_CAS

CONST	NEW_DATABASE=1
#define GRAPHICSNAME	'graphics.library'
